CSE 2231 – Schedule


The assignments shown in the row for a given class meeting should be done before that class meeting: read the readings, complete the homework assignment (to be submitted via Carmen in PDF format before the start of class) and/or the project assignment (to be submitted via Carmen at least one hour before the start of class).

Meeting Date Topics Assignments Lab
Instructions
1 Tue
May 7
Course Introduction
Configuring Eclipse
Sequence Palindromes
 lab instructions
2 Wed
May 8
Reading Formal Contract Specifications reading assignmenthomework assignment  
3 Thu
May 9
Implement and Test static method smooth homework assignment lab instructions
4 Fri
May 10
Abstract Classes homework assignment  
5 Mon
May 13
JUnit Testing Revisited homework assignment  lab instructions
6 Tue
May 14
Kernel Implementations I
Queue1L
homework assignment  
7 Wed
May 15
Introduction to Version Control and Subversion
Queue on Sequence
homework assignment  lab instructions
8 Thu
May 16
Kernel Implementations II
NaturalNumber2
project assignment  
9 Fri
May 17
Sequence on Stack homework assignment  lab instructions
10 Mon
May 20
Kernel Implementations III
Two-Level Thinking
Commutative Diagrams
 
11 Tue
May 21
Set on Queue homework assignment lab instructions
12 Wed
May 22
Kernel Implementations IV
Representation Invariant (convention)
Abstraction Function (correspondence)
 
13 Thu
May 23
Map on Queue homework assignment lab instructions
14 Fri
May 24
Hashing
Set with hashing
project assignment  
Mon
May 27
No classes
15 Tue
May 28
Hashing Experiments homework assignment lab instructions
16 Wed
May 29
Mathematical BinaryTree Notation
BinaryTree: Formal Contract Specification
homework assignment  
17 Thu
May 30
Recursion on BinaryTree: static methods height, isInTree homework assignment lab instructions
18 Fri
May 31
Binary Search Trees homework assignment  
19 Mon
Jun 3
Binary Search Trees: static methods isInTree, removeSmallest homework assignmentproject assignment lab instructions
20 Tue
Jun 4
SortingMachine: Formal Contract Specification
Sorting Algorithms
 
21 Wed
Jun 5
Queue: secondary method sort (Insertion Sort) homework assignment lab instructions
22 Thu
Jun 6
Midterm Exam #1
23 Fri
Jun 7
Queue: secondary method sort (QuickSort) homework assignment lab instructions
24 Mon
Jun 10
SortingMachine Implementations
Heaps and Heapsort
 
25 Tue
Jun 11
Heapsort: static method siftDown project assignment  lab instructions
26 Wed
Jun 12
Linked Data Structures I: Singly-Linked Lists homework assignment  
27 Thu
Jun 13
Stack on Singly-Linked List homework assignment lab instructions
28 Fri
Jun 14
Linked Data Structures II: Doubly-Linked Lists
Standard Methods
 
29 Mon
Jun 17
List on Singly-Linked List with Two Smart Nodes
Implementing an Iterator
homework assignment  lab instructions
30 Tue
Jun 18
Mathematical Tree Notation
Tree: Formal Contract Specification
BugsWorld Project Introduction
project assignment  
Wed
Jun 19
No classes
31 Thu
Jun 20
BugsWorld Contest reading assignmenthomework assignment
32 Fri
Jun 21
Abstract Syntax Trees
Statement: Contract Specification
homework assignment  
33 Mon
Jun 24
Recursion on Statement: static method countOfPrimitiveCalls homework assignment lab instructions
34 Tue
Jun 25
Program: Contract Specification
Using Statement and Program
homework assignment  
35 Wed
Jun 26
Program: secondary method prettyPrint project assignment lab instructions
36 Thu
Jun 27
Program and Statement Practice: static methods renameInstruction
37 Fri
Jun 28
Recursion on Statement: secondary method prettyPrint homework assignment lab instructions
38 Mon
Jul 1
Context-Free Grammars homework assignment  
39 Tue
Jul 2
Tokenizer homework assignment  lab instructions
40 Wed
Jul 3
Recursive Descent Parsing homework assignmentproject assignment  
Thu
Jul 4
No classes
41 Fri
Jul 5
Recursive Descent Parser Evaluation of Arithmetic Expressions homework assignment lab instructions
42 Mon
Jul 8
Code Generation homework assignment  
43 Tue
Jul 9
BugsWorld Virtual Machine Interpreter homework assignment lab instructions
44 Wed
Jul 10
Midterm Exam #2
45 Thu
Jul 11
Program: secondary method generatedCode homework assignment lab instructions
46 Fri
Jul 12
Java Interfaces
Kernel Design, Interface Types, Javadoc Tags, Packages
 
47 Mon
Jul 15
WaitingLine Family Interface Design homework assignment lab instructions
48 Tue
Jul 16
Common Methods: equals, hashCode, toString
instanceof, Type Erasure
project assignment  
49 Wed
Jul 17
WaitingLine Family Class Implementation homework assignment lab instructions
50 Thu
Jul 18
Java Collections Framework reading assignmenthomework assignment  
51 Fri
Jul 19
Practice with Java Collections Framework homework assignment  lab instructions
52 Mon
Jul 22
Java Collections Framework (continued)
Java Input/Output
IOException; try-catch
project assignment  
53 Tue
Jul 23
Practice with File I/O and Exceptions homework assignment lab instructions
54 Wed
Jul 24
Java Loose Ends: Exceptions; Static vs. Instance Members; Nested Classes; Access Modifiers; Final  
55 Thu
Jul 25
Practice with Static Data Members homework assignment lab instructions
56 Fri
Jul 26
Review project assignment